package domain;
import java.util.List;
import java.util.ArrayList;
import java.util.UUID;


/**
 * Die Klasse Modul enthält eine Liste mit Lehrveranstaltungen, die im Modul angeboten werden mit ihrem Typ (Vorlesung oder Uebung), dem Dozenten, der Teilnehmeranzahl
 * und der benoetigten Ausstattung. 
 * 
 * @author Lena
 * @version 1212204
 */
public class Modul
{
    
   //1;"Mathematik 1";"Vorlesung";"Frey";800;"Tafel, Mikrofonanlage";
   //2;"Mathematik 1";"Uebung";"Schneider";100;"Tafel";
   
   /**
    * Name des Moduls
    */
   private String name;
   private int semester;
   private Lehrveranstaltung  lv;
   private UUID Id;
    
    /**
     * Die Konstruktormethode weisst dem Modul-Objekt einen Namen zu. Das Instanzobjekt Lehrveranstaltungsliste wird als leere Liste instanziiert. 
     * 
     * @param name
     * @param iLehrveranstaltungen
     */
    public Modul(String name, int semester, Lehrveranstaltung lv) {
        this.name = name;
        this.semester = semester;
    	this.Id = UUID.randomUUID();
    	this.lv = lv;
    }
    
    /**
     * @return      Die Methode gibt den Namen des Moduls als String zurueck
     */
    public String getName () {
         return name;
        }
    
    /**
     * Die Methode setzt den Modulnamen neu
     * 
     * @param name   neuer Name des Moduls. 
     */    
    public void setName (String name) {
        this.name = name;
    }
    
    
    public Lehrveranstaltung getAssociatedLv(){
    	return lv;
    }
    
    
    @Override
	public String toString() {
		return "Modul: " + this.name + ", Semester: " + this.semester;
	}
    
    
    public int getSemester(){
    	
    return semester;
    }
}
